#ifndef MATRIZ_SVDLIBC_H
#define MATRIZ_SVDLIBC_H

#include <stdlib.h>
#include <stdio.h>
#include "utilidades.h"

/*
 * Construye una matriz en el formato de la libreria SVDLIBC a partir del
 * archivo abierto "archivo_mergeado". Escribe la matriz en el archivo
 * abierto "matriz_destino". Recibe, ademas, la cantidad total de
 * filas, columnas y elementos distintos de cero.
 */
void construir_matriz_svdlibc(FILE* archivo_mergeado,FILE* matriz_destino,unsigned long filas,unsigned long columnas,unsigned long elementos);

void escribir_cabecera(FILE* matriz_destino , char* nombre , unsigned long filas,unsigned long columnas, unsigned long elementos);


/* Cpnstruye la matriz en el formato de Octave */
void construir_matriz_octave(FILE* archivo_mergeado,FILE* matriz_destino,unsigned long filas,unsigned long columnas,unsigned long elementos);

/*
 * Construye la matriz luego de realizarse el merge. Recibe los nombres de los
 * archivos para su apertura y la misma informacion acerca de las dimensiones
 * y ceros de la matriz que la funcion antes descripta.
 */
void construir_matriz_post_merge(char* merge_file,char* matrix_file,unsigned long filas,unsigned long columnas,unsigned long elementos);

#endif // MATRIZ_SVDLIBC_H

